It is well known that cell relay networks are subject to congestion when the traffic offered to the network exceeds the capacity of the network. Such congestion conditions need to be controlled in order to guarantee, for each cell relay connection, the Quality of Service (QOS) negotiated between the communicating end systems and the cell relay network during call establishment.
A cell relay communication system, for example, an asynchronous transfer mode (ATM) system, can be viewed as shown in FIG. 1, numeral 100, in which ATM source (102) and destination (110) end systems are coupled with an ATM network including: a source edge node (104), possibly one or more intermediate nodes (106), and a destination edge node (108). ATM cells generated by the source end system (102) are transmitted via the source edge node (104), intermediate nodes (106), and destination node (108) to the destination end system (110).
An important element in proposed ATM congestion control mechanisms is the use of a traffic policing algorithm at the source edge node for each ATM connection. This policing algorithm is often referred to as a Usage Parameter Control (UPC) function. During call establishment, the end systems and network agree on the following traffic parameters for the ATM connection: Peak Cell Rate (PCR) and its associated Cell Delay Variation Tolerance (CDVT), and the; Sustainable Cell Rate (SCR) and its associated Burst Tolerance (BT). The UPC function at the source edge node monitors the cell flow entering the network for conformance to these parameters. A leaky bucket, also referred to as a Generic Cell Rate Algorithm (GCRA), is an important element of the UPC function.
In a typical configuration of the UPC function, shown in FIG. 2, numeral 200, the PCR and CDVT are policed by the PCR leaky bucket (202) with non-conforming (or violating) cells discarded. The SCR and BT are monitored by the SCR leaky bucket (206), with non-conforming or violating cells tagged by setting the Cell Loss Priority (CLP) bit in the ATM header to 1 (208). When significant congestion occurs at a node along the path of the connection, cells with CLP=1 are discarded before cells with CLP=0. In addition, cells may be tagged by the source end system with CLP=1. In the UPC configuration shown in FIG. 2, these tagged cells in combination with the CLP=0 cells are subjected to discard by the PCR leaky bucket, but are not passed through the SCR leaky bucket.
A flow chart describing the operation of the SCR leaky bucket is shown in FIG. 3, numeral 300. That is, upon receiving a cell with CLP=0 (302), the SCR leaky bucket is updated in accordance with Q=MAX{Q-SCR(CLOCK-TIME),0}, where Q is a leaky bucket state and TIME is updated to CLOCK for the system. Upon comparing Q to (BT*SCR) (306), where Q&gt;(BT*SCR), CLP is set equal to 1 (308), and where Q.ltoreq.(BT*SCR), Q is set equal to Q+1 (310).
In addition to its use as a policing function in the source edge node, leaky bucket mechanisms similar to that shown in FIG. 2 have been proposed in combination with a cell buffer for use in the source end system or in the source edge node for regulating or shaping the flow of cells entering the network.
The conventional wisdom With the leaky bucket policing mechanism described above is that it serves to protect the network against congestion and in so doing, serves to guarantee the Quality of Service (QOS) (delay, cell loss and throughput) of the ATM connections that are conforming to their agreed traffic parameters. However, a recently published study has shown that, even with SCR leaky bucket enforcement, end systems violating their negotiated SCR and BT traffic parameters can significantly degrade the QOS of other conforming connections with which network resources (e.g., internodal links) are shared.
Thus, there is a need for a device and method for a more efficient leaky bucket that performs the monitoring function for the SCR at the source edge node such that the QOS of established connections conforming to the negotiated traffic parameters is guaranteed even if some end systems are in violation of their negotiated traffic parameters.